Content-based networks are described in A. Carzaniga, M. J. Rutherford, A. L. Wolf, A routing scheme for content-based networking, Department of Computer Science, University of Colorado, June 2003.
The field of “Implicit Routing” (or “content routing”) is an emerging networking technology. Implicit Routing is the act of forwarding customer data based on the content, rather than a networking header specifying an explicitly addressed destination.
FIG. 1 illustrates an exemplary content-routed network as implemented according to the prior art. The exemplary content-routed network 1 is composed of plurality of content-routers CR 2, 3, 4 and 5, a plurality of publishers P 11, 12 and 13, and a plurality of subscribers S 21, 22, 23, 24, 25, 26, 27 and 28.
A content router is a digital communications networking device which forwards content based on inspection of the contents of a message or document, rather than on an explicit destination address in the networking header of a packet or frame. An example of such a device is the 3200 multiservice message router from Solace Systems, Inc. Content routers must have connections between themselves so that they can communicate with each other and exchange both information needed to control the network, as well as to carry the content received from publishers from one content router to the next, in order to deliver it to the subscribers in the network that are interested in the content. In FIG. 1, link 43 connects content routers 2 and 3; link 46 connects content routers 3 and 4; link 48 connects content routers 4 and 5; and link 49 connects content routers 2 and 5. Such a link could be accomplished using a variety of technologies, examples of which are:                A Transmission Control Protocol (TCP) connection across an IP network        An MPLS circuit across an MPLS network        A direct physical link, such as a serial line, Ethernet link, SONET link, etc.        A virtual circuit across an Asynchronous Transfer Mode (ATM) network        A virtual circuit across a Frame Relay network        A virtual layer 2 circuit across an Ethernet network        Wireless Local Area Network as per 802.11 (e.g. 802.11a, 802.11b, or 802.11g)        
A publisher is a computer, user or device that can insert content into the network. Another name commonly used in the literature is an event source or a producer. A publisher connects to a content router over a link, using a variety of techniques as explained above, and then the publisher can inject content into network 1. For example, link 41 connects publisher 11 to content router 2.
A subscriber is a computer, user or device that has expressed interest in some specific content. Another name commonly used in the literature is event displayers or consumers. A subscriber connects to a content router over a link, using a variety of techniques as explained above, and then the subscriber can receive content from the network 1. For example, link 42 connects subscriber 22 to content router 2.
FIG. 1 also illustrates an example of content from publisher 11 being injected into the content routed network 1. Publisher 11 sends a document 61A to content router 2. Such a document can be delivered using a variety of protocols, such as TCP, HTTP, SMTP, etc. The term “document” is used throughout in the most general sense to cover any type of content, including multi-media content. Content router 2 receives the document, and matches the contents of the document against its forwarding table. The forwarding table is comprised of a series of expressions that indicates matching conditions against the contents of received documents. For example, for documents formatted as Extensible Markup Language (XML) (refer to Extensible Markup Language (XML) 1.0 (Third Edition)”, W3C Recommendation 4 Feb. 2004, W3C (World Wide Web Consortium)) a suitable subscription syntax is XML Path Language (XPath) (refer to reference “XML Path Language (XPath) Version 1.0”, W3C Recommendation 16 Nov. 1999, W3C (Word Wide Web Consortium)).
The manner in which a content router learns of subscriptions from other routers in the network, and routes an incoming document to the correct set of egress links, is outside the scope of the present invention. One such scheme is described in our co-pending application Ser. No. 11/012,113 entitled “Implicit Routing in Content Based Networks”, as well as to “A. Carzaniga, M. J. Rutherford, A. L. Wolf, A routing scheme for content-based networking, Department of Computer Science, University of Colorado, June 2003”, the contents of both which are herein incorporated by reference.
In the prior art, content routers typically utilize a single link between a pair of routers, where link is taken to be a logical construct which can equate to a physical link, a virtual circuit, a TCP connection, etc. All traffic to be forwarded between the two routers utilizes the same link.
In FIG. 1, publisher 11 sends document 61A over link 41 to content router 2. In this example, content router 2 compares the full content of the document against its internal content forwarding table, and computes that locally attached subscriber 22 requires a copy of the document, but local subscriber 21 does not. In addition, one or more subscribers that are preferentially reachable via link 43 require a copy of the document, while no subscribers that require a copy of the document are preferentially reachable over link 49. As a result, content router 2 sends a copy 61B of the document over link 42 towards subscriber 22, and sends a copy 61C of the document over link 43 towards content router 3. Content router 3 repeats the process, and sends a copy 61D of the document over link 44 to subscriber 23, a copy 61E over link 45 to subscriber 25, and a copy 61F over link 46 towards content router 4. Finally, content router 4 repeats the process and delivers a copy 61G of the document over link 47 to subscriber 26. Note that a single copy of the document is sent over a link between content routers, regardless of the number of subscribers downstream that require the document.
While the prior art addresses the publish/subscribe service, allowing publishers and subscribers to remain decoupled from one another, it does not address the issue of quality of service. Again considering the example network of FIG. 1, it can be seen that any document travelling over link 43 between content router 2 and content router 3 will receive that same quality of service from the underlying transport network. However, a given document transported by the content-routed network may have significantly more importance and quality of service requirements, e.g. latency, than other documents delivered over the same infrastructure.